import Request from 'luch-request' // 使用npm
const TOKEN_INVALID = 'token认证失败，请重新登录'
const NETWORK_ERROR = '网络请求异常，请稍后重试'
const SERVER_ERROR = '服务器内部错误，请稍后重试'
const http = new Request({
	baseURL: 'http://81.68.254.47/api',
	timeout: 6000,
});
// 请求拦截器
http.interceptors.request.use((config) => { // 可使用async await 做异步操作
	config.header = {
		...config.header,
	}
	let token = uni.getStorageSync('token') || ''
	if (token) {
		config.header.token = token;
	}
	return config
}, config => { // 可使用async await 做异步操作
	return Promise.reject(config)
})
//相应拦截器
http.interceptors.response.use((response) => {
	/* 对响应成功做点什么 可使用async await 做异步操作*/
	if (response.statusCode == 200) {
		return Promise.resolve(response.data)
	} else if (response.statusCode == 404) {
		uni.showToast({
			title: NETWORK_ERROR
		})
		return;
	} else if (response.statusCode == 500) {
		uni.showToast({
			title: SERVER_ERROR
		})
		return;
	}

}, (response) => {
	/*  对响应错误做点什么 （statusCode !== 200）*/
	return Promise.reject(response)
})
// Let options={
// 	url:'index_category/data',
// 	method:'GET',
// 	data:{},
// }
function request(options) {
	let obj = {
		url: options.url,
		method: options.method || 'GET',
		data: options.data || {},
		dataType: options.dataType || 'json'
	}
	if (obj.method.toLowerCase() == 'get') {
		obj.params = obj.data
	}
	console.log('obj', obj)
	return http.request(obj)
}
export default request